package com.itheima.mapper;

import com.itheima.pojo.AddressBook;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @Author 小帅蓝
 * @Date 2022/6/22 19:00
 */
@Mapper
public interface AddressBookMapper {

    /**
     * 获取默认收货地址
     *
     * @param userId 用户id
     * @return AddressBook
     */
    AddressBook queryDefault(@Param("userId") String userId);

    /**
     * 把默认地址设为普通地址
     *
     * @param userId 用户id
     * @return 受影响行数
     */
    int updateDefault(@Param("userId") String userId);

    /**
     * 获取收货地址列表
     *
     * @param userId 用户id
     * @return List<AddressBook>
     */
    List<AddressBook> queryAll(@Param("userId") String userId);

    /**
     * 根据id获取收货地址
     *
     * @param id 收货地址id
     * @return AddressBook
     */
    AddressBook queryById(String id);

    /**
     * 添加收货地址
     *
     * @param addressBook AddressBook
     * @return 受影响行数
     */
    int addAddressBook(AddressBook addressBook);

    /**
     * 批量逻辑删除收货地址
     *
     * @param ids 地址id
     * @return 受影响行数
     */
    int deleteAddressBook(@Param("ids") List<String> ids);

    /**
     * 修改收货地址
     *
     * @param addressBook AddressBook
     * @return 受影响行数
     */
    int updateAddressBook(AddressBook addressBook);

}
